package cn.cai.authority;

import org.springframework.security.core.Authentication;

import javax.servlet.http.HttpServletRequest;

/**
 * 自定义一个权限校验接口
 */
public interface MyAuthorityPermit {

    /**
     * 权限校验逻辑方法   登录逻辑本质上无法处理
     * 当用户有权限的时候，返回true
     * 无权限的时候，返回false
     * 当用户登录成功后，通过用户携带的权限集合，验证用户本次访问的路径是否有访问权限。
     * @param request  请求对象，可以通过请求对象获取请求路径，请求参数，请求作用域数据。
     * @param authentication 用户登录后，Spring Security 维护的用户登录标记。内部包含登录用户的名称和权限集合
     * @return true|false . access方法，参数如果是字符串 "true"代表，有访问权限。参数是字符串 “false”，无访问权限
     */
    boolean hasAuthority(HttpServletRequest request, Authentication authentication);
}
